The invention relates generally to the processing of image data. Especially the invention applies to coding and decoding of still image data for compression. One application of the invention is for storage and transmission of image data in a mobile telecommunications system.
Digital images tend to include a large amount of data that should be compressed efficiently to allow their usage in different imaging applications. These applications include storage, which varies from a few images in a digital camera to thousands of images in a library for image archival. Applications also include image transmission, which covers mobile and wireless communications as well as the Internet. Therefore, several compression techniques have been developed to fulfil these applications. The efficiency of a compression technique depends mainly on the application it addresses. For mobile communications systems, a compression technique should consider the low memory capacity of the mobile phone and the limited capacity of the transmission channel.
FIG. 1 illustrates a block diagram of a typical image compression and transfer system 100. The digitized input image data Y is first mapped to w(Y) by a transfer function, 102. This may take the form of a transmormation from the spatial domain, where the image is represented by pixel values (e.g. luminance and chrominance) to the spatial frequency domain. Typically after undergoing such a transformation the image data is now expressed as coefficients in the transform domain, e.g. the coefficients of a Discrete Cosine Transform, DCT. Next the coefficients in the transform domain are quantized into determined levels q(w), 104. The quantized data is further encoded, 106. At this stage the image data is in a compressed form. This compressed data may be used for storage, and hence the channel 110 could be the connection to the storage disk of the device to hold the image. The compressed data could be used for transmission, and then the channel 110 could be the channel used for mobile or wireless communications or for Internet transmission. In the expansion (receiving) part of the system the signal e(q) is received from the channel and is decoded in the decoder 120, then inverse quantized 122 and inverse transformed 124 to achieve the resulting image data {overscore (Y)}.
The steps described above form the basic components of codecs used in image compression and decompression. The term codec is the name given to a system or arrangement for image coding which has the ability to both encode and decode image data. Codecs can be rated according to the functionalities they offer and the performance they provide. For example, in a mobile telecommunications environment, a codec is better if it provides:
the highest possible image quality for a given available data transfer rate;
progressivity in quality. This means that during encoding and decoding the quality of the image may be gradually enhanced by increasing the number of bits per pixel used in its representation;
progressivity in resolution. This means that the spatial resolution of the image may be progressively enhanced during encoding and decoding;
low complexity of implementation;
resilience to errors that may occur during transmission.
There are commonly used prior art methods for image compression. The most widely used is the standard released by the International Standards Organization (ISO), the JPEG (Joint Photographic Experts Group). The JPEG image compression standard contains 4 parts. The best known and most commonly used one is the first part, known as the JPEG baseline. In addition to its poor performance when applied at low bit rates this compression system does not offer the above functionalities. To overcome JPEG baseline""s shortcomings several solutions have been proposed. A brief description of these methods is given below.
It is prior known to use a so-called Embedded Discrete Cosine Transform solution. In this method the image is transformed by a Discrete Cosine Transform applied to 8 by 8 pixels blocks. The quantization is performed in a successive manner that is embedded in the coding part. Coding is performed using a context based arithmetic coding which makes its complexity in memory and in computations higher. Furthermore, this method is block based and hence at low bit rates it leads to blocking artifacts which require the use of post processing filters. Therefore it is not a preferred solution for mobile communications. Further details about this method can be found in [1].
It is also prior known to use a so-called Wavelet Trellis Coded Quantization. This algorithm consists of four phases: A wavelet transform of the image data, a classification and bit allocation of the bands of the transformed data, the classification being obtained by computing statistics of the data. Based on the classifications, quantization of the transform coefficients is performed in trellis fashion. Trellis quantization is adopted from a technique known as trellis modulation which enables use of twice the number of quantization levels allowed at a certain bit rate with constraints on the transitions between the levels. Later the quantized coefficients are coded in bit planes by a context based arithmetic coder. This solution is very complicated for mobile applications and does not offer high performance at low bit rates. Details about this method can be found in [2].
A further prior art solution is called Multi-Threshold Wavelet Coding. In this method wavelet transformation is applied to the image data. The quantization is performed successively and independently for each band of the transformed data, hence the name multi-threshold. The encoding is then performed using a context based arithmetic coding which makes complexity higher and therefore its use for mobile communications not preferred. Details about this method can be found in [3].
A further prior art solution is called Quad-tree based Entropy Coding. In this method the image data is wavelet transformed, then the coefficients in the transform domain are divided in blocks of 2nxc3x972n pixels. Each block is then coded by dividing it into four quadrants. Each quadrant is coded again by dividing it into 4 quadrants, and so on till no further division is possible, to form a tree of quadrants, hence the name quadtree. At the first level the number of bits needed to get the maximum coefficient of the block is sent, then for each quadrant the difference between the maximum coefficient of the block and the maximum coefficient of the quadrant is determined. The advantage of this method is that it requires fewer computations and the complexity of the entropy coding is low. However, the problem with this solution is that the algorithm does not provide progressivity in quality or in resolution which, as stated earlier, are important features for mobile applications. Details about this method can be found in [4].
A further prior art solution is the Compact Quadtree Based Subband Image coding scheme. This prior art method for compression of images is described in documehnt [5]. The method uses wavelet transforms, then the quantization is embedded in the encoding. For each quantization level, a quadtree-based method is used to encode the bands. The significance map (the region where coefficients are higher than the quantization level) in the bands is coded by a quad-tree method which uses three symbols for the representation of its nodes:
xe2x80x9cXxe2x80x9d corresponds to a quadtree block having at least one coefficient coded in the past quantization threshold,
xe2x80x9c1xe2x80x9d corresponds to a quadtree block where at least one significant coefficient is mixed with an insignificant coefficient in that block and
xe2x80x9c0xe2x80x9d corresponds to a quadtree block where the whole block is insignificant.
One of the symbols is implicitly obtained from the data, because the existence of a significant coefficient in a region implies considering the whole region significant for the coming bit planes. Therefore, this method implicitly assumes that the data in the band are highly correlated. However, this is not the case because the decomposition (i.e. the transform) decorrelates the data. Furthermore, this scheme works poorly in the presence of errors because a wrong decision relating to a particular sample will make the whole region distorted. In this case the error will also propagate from one bit plane to another since the information about a current bit plane is obtained from the previous one.
It is thus an object of this invention to provide a method and a system for compressing images so that high image quality is preserved with low computational complexity and memory requirements. It is also an object of this invention to solve problems of the cited prior art solutions and to fulfil the requirements for image processing that were discussed above.
The objects of the invention are fulfilled by providing an image processing procedure, which is based on a wavelet transform, successive approximation quantization and quadtree coding. The quadtree coding preferably comprises the step of coding the significance of coefficients within quadtree blocks with two symbols.
The present invention offers important advantages over prior art methods. The solution does not require large data processing or memory capacity. Nevertheless, it offers a high image quality for a given bit rate compared to the prior art solutions. The solution according to the invention also provides progressivity in quality and resolution.
As the invented method does not perform any classifications or rate allocations, it embeds the quantization process in the coding part and allows subband skipping. The coding is performed in a simple quadtree form, and arithmetic coding is not required. These advantages make the new solution ideal for mobile communications.
It is characteristic to a method according to the present invention that it comprises the steps of
a) transforming the input image data into subbands,
b) coding the transformed image data using successive approximation quantisation to produce a bit stream, the successive approximation being embedded in the coding process and
c) coding the bit stream with significance information using a quadtree based method and including sign and refinement information in the bit stream.
The invention also applies to a method for processing a bit stream into image data, wherein the bit stream comprises significance, sign and refinement information, being characterised in that the method comprises the steps of
decoding the significance information from the bit stream with a quadtree based method and retrieving sign and refinement information from the bit stream,
providing an inverse successive approximation quantization of the decoded data and
providing an inverse transform to produce image data from the decoded and inverse quantized bit stream.
The invention further applies to a system for processing image data being characterised in that it comprises
a) means for transforming the input image data into different subbands,
b) means for coding the transformed image data using successive approximation quantisation to produce a bit stream, the successive approximation being embedded in the coding process and
c) means for coding significance information into the bit stream using a quadtree based method and including sign and refinement information to the bit stream.
The invention also applies to a system for processing a bit stream into image data, wherein the bit stream comprises significance, sign and refinement information, being characterised in that it comprises
means for decoding the significance information from the bit stream with a quadtree based method and retrieving the sign and refinement information from the bit stream,
means for providing an inverse successive approximation quantization of the decoded data and
means for providing an inverse transform to produce image data from the decoded and inverse quantized bit stream.
The invention further applies to an image processing system being characterised in that for processing and transferring of image data it comprises
means for transforming the input image data into different subbands,
means for coding the transformed image data using successive approximation quantisation to produce a bit stream, the successive approximation being embedded in the coding process,
means for coding significance information to the bit stream using a quadtree based method and including sign and refinement information to the bit stream,
means for decoding the significance information from the bit stream with a quadtree based method and retrieving the sign and refinement information from the bit stream,
means for providing an inverse successive approximation quantization of the decoded data and
means for providing an inverse transform to produce image data.
Preferred embodiments of the invention have been presented in dependent claims.
The term xe2x80x9ctelecommunications systemxe2x80x9d in this text refers to any system for transferring information. The term xe2x80x9cmobile telecommunications systemxe2x80x9d in this text refers generally to any telecommunications system which enables a wireless communication connection between a mobile station (MS) and the fixed parts of the system when the user of the mobile station is moving within the service area of the system. A typical mobile communications system is a Public Land Mobile Network (PLMN). The majority of mobile telecommunications systems in use at the time of filing this patent application belong to the second generation of such systems, a well-known example being the GSM system (Global System for Mobile telecommunications). The invention applies equally well to the next or third generation of mobile telecommunications systems. A system known as the UMTS (Universal Mobile Telecommunications System), which is currently undergoing standardisation, is referred to as an example. However, it is to be noted that although telecommunications is a suitable application for the present invention, the present invention is not in any way restricted to telecommunications environment.